Skip to content

Vbot@bench context#5

Draft
icristescu wants to merge 58 commits intotarides:masterfrom
icristescu:vbot@bench_context
Draft

Vbot@bench context#5
icristescu wants to merge 58 commits intotarides:masterfrom
icristescu:vbot@bench_context

Conversation

@icristescu
Copy link

@icristescu icristescu commented May 30, 2020

Benchmarking framework for a node. The node runs with an existing store, that contains already 933913 blocks. 50000 additional blocks are added during the benchmarks, which are read from a file instead of being received over the network.
Instructions for setting it up are provided in instructions.md

@icristescu icristescu force-pushed the vbot@bench_context branch 2 times, most recently from 8051514 to 5cc2b04 Compare June 4, 2020 07:30
@icristescu icristescu marked this pull request as draft June 4, 2020 13:52
@icristescu icristescu force-pushed the vbot@bench_context branch from c56db27 to eeabe48 Compare July 19, 2020 16:00
@icristescu icristescu force-pushed the vbot@bench_context branch from eeabe48 to 51f92da Compare July 21, 2020 07:49
smelc and others added 8 commits July 22, 2020 10:28
This commit does the following:

1/ It fixes disk leaks in the mockup's tests. Indeed
   each successful execution of the mockup's tests was
   leaving **9** dangling directories named /tmp/tezos-client*
2/ It gets rid of client.py's set_base_dir method
   which relies on a side effect and hence makes
   mockup initialization harder to understand.
3/ Simplifies initialization in tests of the mockup
   It was cumbersome for bad reasons before, mostly
   because it was authored by two tezos noobs (one of them
   being my earlier myself)

This commit removes the test
that `tezos-client --base-dir /tmp/file create mockup`
fails when /tmp/file is a file. This cannot be done anymore because
client.py's Client class defensively checks that the base directory is
a directory so an exception is raised even before calling `create mockup`
It's okay, it's not a super important test.
This is a suggestion from Arvid and is orthogonal to the topic
of this MR. It could have been done in earlier mockup MRs.
This is done by parameterizing the mockup_client fixture by the
two protocols, as well as parameterizing the tests that do
not use the fixture.

On the way, I moved the mockup_client fixture to conftest.py
as it doesn't hardcode the protocol anymore (this was the blocking point
for making it widely available).
We specify `--protocol` because it is required for `config show mockup`
and `config init mockup` to work. Previously it was working
by luck, because when `--protocol` is not specified, the client
will take the first proxy implementation, which happened to be alpha.
So it was working until we started testing carthage.
- Cleaner implementation
- Better support for signals
- Sounder and more versatile interface
- Tests
@icristescu icristescu force-pushed the vbot@bench_context branch from a5770b0 to 6640513 Compare July 26, 2020 09:36
abate and others added 15 commits July 27, 2020 08:49
Detached process results were not available from the main process,
this patch gives access to the detached functions results when the
process is not killed or canceled.

It also bring the possibility to use data-encoding for exchanges with
the detached process.

As it is not yet possible to define a parallel error that would relies
on the registration of recursive errors, the head of each error trace
is taken in the trace when joining multiple process.
Nesting of Lwt_main.run is forbidden since Lwt 5.
We used this nesting to prevent the yielded promises to be rescheduled
in the detached process, which results a kind of fork-bomb.

As it is not possible anymore, we have to run the forks sequentially
to ensure that there is no yielded promises waiting to fork inside the
forked process.
Add enclosing boxes, remove '\n' (use @, break hint) to get a nicer
pretty-printing of values for mockup constants.
@icristescu icristescu force-pushed the vbot@bench_context branch from 6640513 to d31b6f4 Compare July 28, 2020 07:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants